package com.ruoyi.system.api.service;

import com.ruoyi.system.api.ResponseWithData;
import com.ruoyi.system.api.domain.ReportInfo;
import com.ruoyi.system.api.domain.StErrorReport;
import java.util.List;
import java.util.Map;

/**
 * error reportService接口
 * 
 * @author ruoyi
 * @date 2020-03-05
 */
public interface IStErrorReportService 
{
    /**
     * 查询error report
     * 
     * @param id error reportID
     * @return error report
     */
    public StErrorReport selectStErrorReportById(Long id);

    /**
     * 查询error report列表
     * 
     * @param stErrorReport error report
     * @return error report集合
     */
    public List<StErrorReport> selectStErrorReportList(StErrorReport stErrorReport);

    /**
     * 新增error report
     * 
     * @param stErrorReport error report
     * @return 结果
     */
    public int insertStErrorReport(StErrorReport stErrorReport);

    /**
     * 修改error report
     * 
     * @param stErrorReport error report
     * @return 结果
     */
    public int updateStErrorReport(StErrorReport stErrorReport);

    /**
     * 批量删除error report
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteStErrorReportByIds(String ids);

    /**
     * 删除error report信息
     * 
     * @param id error reportID
     * @return 结果
     */
    public int deleteStErrorReportById(Long id);

    /**
     *  添加ErrorReport报告
     *
     * @param errorReport
     * @return com.ruoyi.system.api.ResponseWithData<?>
     * @author yzg
     * @date 2020/3/5 1:27 下午
     */
    public ResponseWithData<?> addErrorReport(StErrorReport errorReport);

    /**
     *  修改ErrorReport报告
     *
     * @param errorReport
     * @return com.ruoyi.system.api.ResponseWithData<?>
     * @author yzg
     * @date 2020/3/5 1:28 下午
     */
    public ResponseWithData<?> updateErrorReport(StErrorReport errorReport);

    /**
     *  查看ErrorReport报告
     *
     * @param id
     * @return com.ruoyi.system.api.ResponseWithData<?>
     * @author yzg
     * @date 2020/3/5 1:25 下午
     */
    public ResponseWithData<?> detailErrorReport(Long id);

    /**
     *  查看ErrorReport报告
     *
     * @param id
     * @return com.ruoyi.system.api.ResponseWithData<?>
     * @author yzg
     * @date 2020/3/5 1:25 下午
     */
    public ResponseWithData<?> detailCCErrorReport(Map map);
    /**
     *  提交Error report
     *
     * @param id
     * @return com.ruoyi.system.api.ResponseWithData<?>
     * @author yzg
     * @date 2020/3/7 11:26 上午
     */
    public ResponseWithData<?> errorReportSubmit(Long id, Long enginnerId);

    List<ReportInfo> selectErrorReportList(String serviceNo, Long enginnerId, String planId);

    /**
     *  删除ErrorReport报告
     *
     * @param id
     * @param enginnerId
     * @return com.ruoyi.system.api.ResponseWithData<?>
     * @author yzg
     * @date 2020/4/20 2:18 下午
     */
    ResponseWithData<?> delErrorReport(Long id, Long enginnerId) throws Exception;

    List<ReportInfo> selectStErrorReportList(ReportInfo reportInfo);
}
